VCS仿真基础 您所在的位置:网站首页 verilog 并行 VCS仿真基础

VCS仿真基础

2023-06-06 14:56| 来源: 网络整理| 查看: 265

VCS的使用 Verilog仿真事件队列仿真规范VCS是如何处理事件队列的:仿真队列的例子 VCS处理verilog/systemverilog的流程VCS的编译和仿真

Verilog仿真事件队列 仿真规范

在这里插入图片描述 verilog中的语句(如initial、always)是并行执行的。在verilog中,对于不同的事件在同一时刻调用时没有规定先执行哪一个,只要在同一层的事件,任意的执行顺序都是可以的

VCS是如何处理事件队列的:

在这里插入图片描述注:RHS:非阻塞赋值符号右侧的语句 m o n i t o r 在 m o n i t o r 域 , 而 monitor在monitor域,而 monitor在monitor域,而display在active域 UDP:user define primitive PLI:Programming Language Interface

仿真队列的例子

在这里插入图片描述如上图所示,当定义了CASE1时,会并行执行前两个always语句。当检测到clk信号变化时,第一个always语句会将a赋值成1。但与此同时,第二个always语句中的zin会被赋值成a的值。由于这两个操作处于同一时刻,所以就无法确认是a赋值成了1还是zin先被赋值成了a,因为两个语句不同的执行顺序将会造成不同的结果。

使用不同的仿真工具对其进行仿真将会得到不同的结果。例如上图中,使用VCS和用Questa进行仿真,得到的结果就是不同的。

如何避免这种情况的发生: 1、对于时序逻辑,应采用非阻塞赋值(



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有